var WXAds = require("WXAds");


window.GameStatus = (function () {

    var _static = {
        /**
         * 进入游戏调用
         * @param logLevel
         */
        load: function (logLevel, loginCallBack) {
            Log.info("******  SSG  开始加载游戏数据  *****");
            if (logLevel) {
                SystemInfo.setLogInfo(logLevel)
            }
            SystemInfo.setPlatform();
            HttpUtil.setIp(ssgConfig.httpIp);
            HttpUtil.setErrorCode(ssgConfig.errorCode);

            UIHelper.showLoaing();
            //加载http的ip 以及错误码
            let self = this;


            loginCallBack(function(){
                SystemInfo.addGameStartTime()
                //静音
                if (SystemInfo.getIsOpenMusic() == "false") {
                    SoundUtil.openMusic(false);
                    SoundUtil.openEffect(false);
                }

                //渠道相关生命周期初始化
                self.channelInit();

                Log.debug("******  渠道相关生命周期初始化-完毕  *****");
            });

            Log.info("******  SSG  加载完毕  *****");
        },

        /**
         * 开始游戏调用
         */
        run: function () {
            Log.info("******  SSG  进入游戏  *****");
            SystemInfo.addGameRuningTime();
            SystemInfo.setIsRunning(true);
        },

        /**
         * 游戏结束调用
         */
        over: function () {
            Log.info("******  SSG  一局游戏结束  *****");
            SystemInfo.setIsRunning(false);
        },




        channelInit: function () {
            if (SystemInfo.getPlatform() == 'qqPlay') {
                new BK.Game({
                    //点击“分享游戏”后响应。（可选）
                    onShare: function (app) {
                        SoundUtil.pauseMusic();
                        BK.Script.log(0, 0, "onShare");
                        var shareInfo = {
                            summary: ssgConfig.share.default.content,
                            localPicPath: ssgConfig.share.default.localImgUrl,
                            picUrl: ssgConfig.share.default.shareImgUrl,
                            extendInfo: ssgConfig.share.default.exetInfo ? ssgConfig.share.default.exetInfo : UserInfo.userId
                        };
                        return shareInfo;
                    }
                });

                //console.log('注册监听事件 分享返回游戏重新回到前台，再放一次音乐')
                BK.onEnterForeground(function () {
                    Log.debug('播放上一次的背景音乐')
                    SoundUtil.resumeMusic();
                })

                BK.onEnterBackground(function () {
                    Log.debug('回到后台，停止音乐播放')
                    SoundUtil.pauseMusic();
                });

                SystemInfo.setGameQuery(GameStatusInfo.gameParam); //设置进游戏的参数
            }


            if (SystemInfo.getPlatform() == 'weChatGame' || SystemInfo.getPlatform() == 'weChat') {
                wx.onShow(function (res) {
                    Log.debug('播放上一次的背景音乐')
                    SoundUtil.resumeMusic();
                });

                wx.onHide(function () {
                    Log.debug('回到后台，停止音乐播放')
                    SoundUtil.pauseMusic();
                });

                WXAds.init(ssgConfig.wxBannerId, ssgConfig.wxVideoId);
                SystemInfo.setGameQuery(wx.getLaunchOptionsSync().query); //设置进游戏的参数
            }


            //设置分享信息
            ShareUtil.setShareInfo(ssgConfig.share);


        }
    }
    return _static;

})();

module.exports = GameStatus;